home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
midi
/
gfft.lha
/
gfft-2.03
/
source
/
gfft-2.03-source.lha
/
wbhelp.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-01-02
|
4KB
|
172 lines
/***************************************************************************
* Copyright (C) 1994 Charles P. Peterson *
* 4007 Enchanted Sun, San Antonio, Texas 78244-1254 *
* Email: Charles_P_Peterson@fcircus.sat.tx.us *
* *
* This is free software with NO WARRANTY. *
* See gfft.c, or run program itself, for details. *
* Support is available for a fee. *
***************************************************************************
*
* Program: gfft--General FFT analysis
* File: wbhelp.c
* Purpose: help requester
* Author: Charles Peterson (CPP)
* History: 2-March-1994 CPP; Created.
* 7-July-1994 CPP (0.75); Added MORE button
* 14-Dec-94 CPP (1.17); Fix button gadgets for >4 colors
* Comments: Workbench GUI. Amiga Dependent!
*/
#ifdef AMIGA /* This module is AMIGA dependent */
#include <stdio.h> /* sprintf() */
#include <string.h>
/*
* Amiga includes
*/
#include <exec/types.h>
#include <workbench/workbench.h>
#include <intuition/intuition.h>
#include <clib/intuition_protos.h>
#include <clib/exec_protos.h>
#include <dos.h> /* chkabort() */
/*
* GFFT includes
*/
#include "gfft.h"
#include "settings.h" /* for testing */
#include "wbench.h"
/*
* External globals
*/
extern struct Window *dialog_window_p;
static struct Requester *help_rp = NULL;
static struct Gadget *end_help_gadgetp;
static struct Gadget *intro__gadgetp, *enter_topic_gadgetp;
static struct Gadget *topics__gadgetp;
static struct Gadget *more__gadgetp;
static struct IntuiText *line1_textp;
static struct IntuiText *line2_textp;
static struct IntuiText *line3_textp;
static struct IntuiText *line4_textp;
static struct IntuiText *line5_textp;
void workbench_help_requester (void)
{
struct IntuiMessage *message;
APTR *address = NULL;
ULONG class = 0;
UWORD qualifier = NULL;
if (!help_rp)
{
gadget__begin (GTYP_REQGADGET);
/*
* Setup Text
*/
line1_textp = requester_text__new
("For help with any gadget, hold the CTRL key while clicking it.",
0, 0);
line2_textp = requester_text__new
("For information about the author, available services, and your rights",
0, 1);
line3_textp = requester_text__new
(" regarding this program, click the version/copyright button (top).",
0, 2);
line4_textp = requester_text__new
("HINT: After selecting Sample File (and modifying parameters and options,",
0, 3);
line5_textp = requester_text__new
(" if desired) click the OK button (bottom right of dialog window).",
0, 4);
/*
* Setup Gadgets
*/
more__gadgetp = action_button__new ("MORE",
64, 0);
intro__gadgetp = action_button__new ("Intro",
0, 5);
topics__gadgetp = action_button__new ("Topics", 8, 5);
#define MAX_TOPIC_LENGTH 50
enter_topic_gadgetp = string_gadget__new ("Topic:",
NullString,
MAX_TOPIC_LENGTH,
43, 17, 5);
end_help_gadgetp = tall_action_button__new
("...OK",
63, 5);
help_rp = requester__new ();
help_rp->ReqGadget = end_help_gadgetp;
help_rp->ReqText = line5_textp;
} /* Ok, help_rp has been created */
if (requester__display (help_rp, dialog_window_p))
{
while (TRUE)
{
Wait (1 << dialog_window_p->UserPort->mp_SigBit);
while (message = (struct IntuiMessage *) GetMsg
(dialog_window_p->UserPort))
{
CATCH_ERROR
class = message->Class;
qualifier = message->Qualifier;
address = message->IAddress;
ReplyMsg ((struct Message *) message);
if (address == (APTR) intro__gadgetp)
{
help_message ("introduction");
}
else if (address == (APTR) more__gadgetp)
{
help_message ("Workbench More-Help");
}
else if (address == (APTR) topics__gadgetp)
{
help_message ("topics");
}
else if (address == (APTR) enter_topic_gadgetp)
{
if (qualifier & IEQUALIFIER_CONTROL)
{
help_message ("Workbench Help Topics");
}
else
{
if (class == IDCMP_GADGETDOWN) break;
string_gadget__apply
(enter_topic_gadgetp, help_message);
}
}
else if (address == (APTR) end_help_gadgetp)
{
requester__remove (help_rp, dialog_window_p);
return;
}
END_CATCH_ERROR
}
}
}
}
#endif /* end ifdef AMIGA */